package com.regex.web.entity.fj;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.regex.web.entity.StrIdBaseEntity;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.regex.web.common.excel.annotation.ExcelField;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 辅具适配信息
 * </p>
 *
 * @author zzl
 * @since 2021-08-24
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cl_fjsp_info")
public class ClFjspInfoDTO extends StrIdBaseEntity implements Cloneable {

    private static final long serialVersionUID = 1L;

    /**
     * 姓名
     */
    @TableField("name")
    @ExcelField(title="姓名",  align=2 , sort=1, dictType="")
    @Size(min=1, max=80, message="姓名长度必须在1~80个字符")
    private String name;

    /**
     * 年龄
     */
    @TableField("age")
    @ExcelField(title="年龄",  align=2 , sort=2, dictType="")
    private String age;

    /**
     * 性别
     */
    @TableField("sex")
    @ExcelField(title="性别",  align=2 , sort=3, dictType="")
    @Size(min=1, max=80, message="性别长度必须在1~80个字符")
    private String sex;

    /**
     * 残疾类型
     */
    @TableField("cjlx")
    @ExcelField(title="残疾类型",  align=2 , sort=4, dictType="")
    @NotBlank(message="残疾类型不能为空")
    private String cjlx;

    /**
     * 残疾等级
     */
    @TableField("cjdj")
    @ExcelField(title="残疾等级",  align=2 , sort=5, dictType="")
    @Size(min=1, max=80, message="残疾等级长度必须在1~80个字符")
    private String cjdj;

    /**
     * 申请辅具类型
     */
    @TableField("sqfjlx")
    @ExcelField(title="申请辅具类型",  align=2 , sort=6, dictType="")
    private String sqfjlx;

    /**
     * 申请时间
     */
    @TableField("sqsj")
    @ExcelField(title="申请时间",  align=2 , sort=7, dictType="")
    private String sqsj;

    /**
     * 身份证
     */
    @TableField("ShenFenZhengHao")
    @ExcelField(title="身份证",  align=2 , sort=8, dictType="")
    private String ShenFenZhengHao;

    /**
     * 申请人签名
     */
    @TableField("ShenQingRenQianMing")
    @ExcelField(title="申请人签名",  align=2 , sort=9, dictType="")
    @NotBlank(message="申请人签名不能为空")
    private String ShenQingRenQianMing;

    /**
     * 残疾证号
     */
    @TableField("CanJiZhengHao")
    @ExcelField(title="残疾证号",  align=2 , sort=10, dictType="")
    @NotBlank(message="残疾证号不能为空")
    private String CanJiZhengHao;

    @TableField("RiQia")
    @ExcelField(title="",  align=2 , sort=11, dictType="")
    private String RiQia;

    /**
     * 出生年月
     */
    @TableField("ChuShengNianYue")
    @ExcelField(title="出生年月",  align=2 , sort=12, dictType="")
    @NotBlank(message="出生年月不能为空")
    private String ChuShengNianYue;

    /**
     * 评估类别
     */
    @TableField("PingGuLeiBie")
    @ExcelField(title="评估类别",  align=2 , sort=13, dictType="")
    @NotBlank(message="评估类别不能为空")
    private String PingGuLeiBie;

    /**
     * 区里意见
     */
    @TableField("QuJiYiJian")
    @ExcelField(title="区里意见",  align=2 , sort=14, dictType="")
    @NotBlank(message="区里意见不能为空")
    private String QuJiYiJian;

    /**
     * 康复服务详情
     */
    @TableField("KangFuFuWuXuQiu")
    @ExcelField(title="康复服务详情",  align=2 , sort=15, dictType="")
    @NotBlank(message="康复服务详情不能为空")
    private String KangFuFuWuXuQiu;

    /**
     * 人均收入
     */
    @TableField("RenJunShouRu")
    @ExcelField(title="人均收入",  align=2 , sort=16, dictType="")
    @NotBlank(message="人均收入不能为空")
    private String RenJunShouRu;

    /**
     * 主要障碍
     */
    @TableField("ZhuYaoZhangAi")
    @ExcelField(title="主要障碍",  align=2 , sort=17, dictType="")
    @NotBlank(message="主要障碍不能为空")
    private String ZhuYaoZhangAi;

    @TableField("MAIN_TBL_PK")
    @ExcelField(title="",  align=2 , sort=18, dictType="")
    private String mainTblPk;

    /**
     * 残疾情况
     */
    @TableField("CanJiQingKuang")
    @ExcelField(title="残疾情况",  align=2 , sort=19, dictType="")
    @NotBlank(message="残疾情况不能为空")
    private String CanJiQingKuang;

    /**
     * 监护人
     */
    @TableField("JianHuRen")
    @ExcelField(title="监护人",  align=2 , sort=20, dictType="")
    @NotBlank(message="监护人不能为空")
    private String JianHuRen;

    /**
     * 与残疾人关系
     */
    @TableField("YuCanJiRenGuanXi")
    @ExcelField(title="与残疾人关系",  align=2 , sort=21, dictType="")
    @NotBlank(message="与残疾人关系不能为空")
    private String YuCanJiRenGuanXi;

    /**
     * 职业
     */
    @TableField("ZhiYe")
    @ExcelField(title="职业",  align=2 , sort=22, dictType="")
    @NotBlank(message="职业不能为空")
    private String ZhiYe;

    /**
     * 联系电话
     */
    @TableField("LianXiDianHua3")
    @ExcelField(title="联系电话",  align=2 , sort=23, dictType="")
    @NotBlank(message="联系电话不能为空")
    private String LianXiDianHua3;

    /**
     * 联系电话1
     */
    @TableField("LianXiDianHua2")
    @ExcelField(title="联系电话1",  align=2 , sort=24, dictType="")
    @NotBlank(message="联系电话1不能为空")
    private String LianXiDianHua2;

    /**
     * 联系电话2
     */
    @TableField("LianXiDianHua1")
    @ExcelField(title="联系电话2",  align=2 , sort=25, dictType="")
    @NotBlank(message="联系电话2不能为空")
    private String LianXiDianHua1;

    /**
     * 邮政编码
     */
    @TableField("YouZhengBianMa")
    @ExcelField(title="邮政编码",  align=2 , sort=26, dictType="")
    @NotBlank(message="邮政编码不能为空")
    private String YouZhengBianMa;

    /**
     * 临床诊断
     */
    @TableField("LinChuangZhenDuan")
    @ExcelField(title="临床诊断",  align=2 , sort=27, dictType="")
    @NotBlank(message="临床诊断不能为空")
    private String LinChuangZhenDuan;

    @TableField("RiQi")
    @ExcelField(title="",  align=2 , sort=28, dictType="")
    private String RiQi;

    @TableField("JianYi1")
    @ExcelField(title="",  align=2 , sort=29, dictType="")
    private String JianYi1;

    /**
     * 家庭住址
     */
    @TableField("JiaTingZhuZhi")
    @ExcelField(title="家庭住址",  align=2 , sort=30, dictType="")
    @NotBlank(message="家庭住址不能为空")
    private String JiaTingZhuZhi;

    /**
     * 工作单位
     */
    @TableField("GongZuoDanWei")
    @ExcelField(title="工作单位",  align=2 , sort=31, dictType="")
    @NotBlank(message="工作单位不能为空")
    private String GongZuoDanWei;

    /**
     * 市级意见
     */
    @TableField("ShiJiYiJian")
    @ExcelField(title="市级意见",  align=2 , sort=32, dictType="")
    @NotBlank(message="市级意见不能为空")
    private String ShiJiYiJian;

    /**
     * 简单称述
     */
    @TableField("JianDanChenShu")
    @ExcelField(title="简单称述",  align=2 , sort=33, dictType="")
    @NotBlank(message="简单称述不能为空")
    private String JianDanChenShu;

    /**
     * 街道意见
     */
    @TableField("JieDaoYiJian")
    @ExcelField(title="街道意见",  align=2 , sort=34, dictType="")
    @NotBlank(message="街道意见不能为空")
    private String JieDaoYiJian;

    /**
     * 康复医疗
     */
    @TableField("KangFuYiLiao")
    @ExcelField(title="康复医疗",  align=2 , sort=35, dictType="")
    @NotBlank(message="康复医疗不能为空")
    private String KangFuYiLiao;

    /**
     * 签名
     */
    @TableField("QianMing")
    @ExcelField(title="签名",  align=2 , sort=36, dictType="")
    @NotBlank(message="签名不能为空")
    private String QianMing;

    /**
     * 月收入
     */
    @TableField("YueShouRu")
    @ExcelField(title="月收入",  align=2 , sort=37, dictType="")
    @NotBlank(message="月收入不能为空")
    private String YueShouRu;

    /**
     * 批次号
     */
    @TableField("CD_BATCH")
    @ExcelField(title="批次号",  align=2 , sort=38, dictType="")
    private String cdBatch;

    /**
     * 短申办流水号
     */
    @TableField("SBLSHSHORT")
    @ExcelField(title="短申办流水号",  align=2 , sort=39, dictType="")
    private String sblshshort;

    /**
     * 办件编号
     */
    @TableField("PROJECTNO")
    @ExcelField(title="办件编号",  align=2 , sort=40, dictType="")
    private String projectno;

    /**
     * 申办流水号
     */
    @TableField("SBLSH")
    @ExcelField(title="申办流水号",  align=2 , sort=41, dictType="")
    private String sblsh;

    /**
     * 事项名称
     */
    @TableField("TASKNAME")
    @ExcelField(title="事项名称",  align=2 , sort=42, dictType="")
    private String taskname;

    /**
     * 同步时间
     */
    @TableField("CD_TIME")
    @ExcelField(title="同步时间",  align=2 , sort=43, dictType="")
    @NotBlank(message="同步时间不能为空")
    private String cdTime;

    /**
     * 承诺办结时间
     */
    @TableField("PROMISEDATE")
    @ExcelField(title="承诺办结时间",  align=2 , sort=44, dictType="")
    private String promisedate;

    /**
     * 受理时间
     */
    @TableField("ACCEPTDATE")
    @ExcelField(title="受理时间",  align=2 , sort=45, dictType="")
    private String acceptdate;

    @TableField("resulttype")
    @ExcelField(title="",  align=2 , sort=46, dictType="")
    private String resulttype;


    @Override
    protected Serializable pkVal() {
        return super.pkVal();
    }


private static ClFjspInfoDTO clFjspInfoDTO = new ClFjspInfoDTO();
    
    public static ClFjspInfoDTO getInstance() {
        try {
            return (ClFjspInfoDTO) clFjspInfoDTO.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return new ClFjspInfoDTO();
    }

}
